﻿#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//int main()
//{
//	//print format-按照指定的格式打印数据
//	printf("hello\nworld\n");
//	return 0;
//}
// 
//int main()
//{
//	printf("there are 3 apples\n");
//	printf("there are %d apples\n",3);
//	printf("there are %d apples\n",300);
//	printf("there are %d apples\n",10);
//	printf("%s will become a piggy\n ", "林");
//	return 0;
//}
//%是占位符，后面加它的类型，d是整数，s是字符串

//int main()
//{
//	printf("%s says it is %d o'clock\n", "lin", 18);
//	return 0;
//}
// 
//%_d,用来限定占位符的最小宽度
//int main()
//{
	//printf("%d\n", 123);
	//printf("%5d\n", 123);//前面有两个空格进行占位“  123”，这是右对齐方式，下面是左对齐的方式
	//printf("%-5d\n", 123);//打印结果：“123  ”
	//printf("%5d\n", 1234567);//超过五位字符如实打印
	
	//printf("%f\n", 123.45);
	//printf("%12f\n", 123.45);//小数点默认后面有六位，打印结果：“  123.450000”
	//printf("%+d\n", 12);//打印结果：+12
	//printf("%+d\n", -12);//打印结果：-12
	
	//限定小数位
//	printf("Number is %.2f\n", 0.5);//结果0.50
//	printf("Number is %f\n", 0.5);//结果0.500000
//	printf("Number is %.2f\n", 0.5477);//因为.2是保留小数点后两位，所以编译器会进行四舍五入，结果0.55
//	printf("%6.2f\n", 0.5);//保留小数点后两位，并且总共六位，所以空格补位，“__0.50”
//	//上面的最小宽度和小数位的限定值还可以用*代替，然后通过printf()的参数传入
//	printf("%*.*f\n", 7, 3, 0.5);//结果“__0.500”
//
//	printf("%.5s\n", "hello world");//%._s表示输出字符串的前几位
//	return 0;
//}

//int main()
//{
//	int score = 0;
//	//输入一个值
//	printf("请输入成绩：");
//	scanf("%d", &score);
//	//输出
//	printf("成绩是：%d", score);
//	return 0;
//}
// 
//int main()
//{
//	int a = 0;
//	int b = 0;
//	float f1 = 0.0;
//	float f2 = 0.0;
//	scanf("%d%d%f%f", &a, &b, &f1, &f2);
//	printf("%d %d %f %f\n", a, b, f1, f2);
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int x;
//	float y;
//	//用户输入“ -13.45e12# 0”
//	scanf("%d\n",&x);
//	scanf("%f\n",&y);
//
//	printf("%d\n",x);//-13
//	printf("%f\n",y);//449999994880.000000  e_表示的是10的几次方 这里是0.45x10^12
//	
//	return 0;
//}
// 
// 科学计数法：
//int main()
//{
//	//1.5e3-->1.5*10^3
//	//1500
//	float a = 0.0;
//	scanf("%f", &a);
//	printf("%f\n", a);
//	return 0;
//}
// 
//scanf() 的返回值是⼀个整数，表⽰成功读取的变量个数。
//如果没有读取任何项，或者匹配失败，则返回 0 。
//如果在成功读取任何数据之前，
//发生了读取错误或者遇到读取到文件结尾，则返回常量 EOF。
//int main()
//{
//	int a = 0;
//	int b = 0;
//	float f = 0.0;
//	int r = scanf("%d %d %f", &a, &b, &f);
//
//	printf("a= %d\n", a);
//	printf("b= %d\n", b);
//	printf("f=%f\n", f);
//
//	printf("r=%d\n", r);//r表示的是变量的个数
//
//	return 0;
//}
//上面的代码运行后在命令窗格输入三次回车或者空格ctrl+z，可以使得文件结束
// r=-1
//int main()
//{
//	EOF;//end of file 文件结束标志   
//	//EOF本质是：-1（通过选择EOF单击右键选择转到声明可查看）
//	return 0;
//}

// %c 不忽略空⽩字符，总是返回当前第⼀个字符，⽆论该字符是否为空格,
// 就算是多个字符打印也不能忽略空格，比如下面两个例子
//int main()
//{
//	char ch = 0;
//	scanf("%c", &ch);
//	printf("%c", ch);  //输入“ 3”-->“ xxxx”
//	printf("xxxx\n");
//	return 0;
//}
//int main()
//{
//	char ch1 = 0;
//	char  ch2= 0;
//	scanf("%c%c", &ch1,&ch2); //输入“3 5”-->“3 xxxx”
//	printf("%c%c", ch1,ch2);
//	printf("xxxx\n");
//	return 0;
//}
// 
// //数组arr不需要取地址&，而字符&c需要
//int main()
//{
//	char arr[20] = { 0 };//20为输入字符的最大长度
//	scanf("%s", arr);
//	printf("%s\n", arr);//遇到空格停止读取 “abc def”->“abc”
//	return 0;
//}

//#include <stdio.h>
//int main()
//{
//	char name[11];
//
//	scanf("%10s", name);//表示读取字符串的最大长度为10
//	printf("%10s", name);
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	int year = 0;
//	int month = 0;
//	int day = 0;
//	scanf("%d%*c%d%*c%d", &year, &month, &day);
//	printf("%d %d %d\n", year, month, day);
//	return 0;
//}

//if语句判断奇偶数
//int main()
//{
//	//初始化变量
//	int num = 0;
//	//输入函数
//	scanf("%d",&num);
//	if (num % 2 == 1)
//		printf("%d是奇数\n", num);
//	else
//		printf("%d是偶数\n", num);
//	return 0;
//}

//int main ()
//{
//	int age = 0;
//	scanf("%d", &age);
//	if (age >= 18)
//		printf("已满18\n");
//	else
//		printf("未成年\n");
//	return 0;
//}
//if语句只能控制一条语句，如果要控制多条，if后使用{}
//int main()
//{
//	int age = 0;
//	scanf("%d", &age);
//	if (age >= 18)
//	{
//		printf("已满18\n");
//		printf("可谈\n");
//	}
//	else
//	{
//		printf("未成年\n");
//		printf("no\n");
//	}
//	return 0;
//}

//if的嵌套语句
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	if (num == 0)//先判断他是不是0
//		printf("输入的数字是0\n");
//	else
//	{
//		if (num > 0)
//			printf("输入的数字是正数\n");
//		else
//			printf("输入的数字是负数\n");
//	}
//	return 0;
//}

//方法2：
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	if (num == 0)
//		printf("输入的数字是0\n");
//	else if (num > 0)
//		printf("输入的数字是正数\n");
//	else
//		printf("输入的数字是负数\n");
//
//	return 0;
//}

//奇偶数判断
//#include <stdio.h>
//int main()
//{
//	int num = 0;
//	scanf("%d",&num);
//	if (num > 0)
//	{
//		if (num % 2 == 0)
//			printf("%d是偶数\n", num);
//		else
//			printf("%d是奇数\m", num);
//
//	}
//	else
//		printf("%d不是正数\n",num);
//	return 0;
//}

//输入一个人的年龄如果年龄<18岁，打印"少年"如果
//年龄在18岁至44岁打印“青年"
//如果年龄在45岁至59岁打印"中老年"
//如果年龄在60岁至89岁打印"老年"
//如果90岁以上打印"老寿星"
//int main()
//{
//	int age = 0;
//	scanf("%d", &age);
//	if (age < 18)
//		printf("少年\n");
//	else if (age <= 44)
//		printf("青年\n");
//	else if (age < 59)
//		printf("中老年\n");
//	else if (age < 89)
//		printf("老年\n");
//	else //else后面不可以加（条件），else if 才可以
//		printf("老寿星");
//	return 0;
//}

/*#include <stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
	{
		if (b == 2)
			printf("hehe\n");
	}
	else
	{
		printf("haha\n");
	}
	return 0;
}*///-->"haha"

//在同一个代码段里面,else和离他最近的if匹配
//#include <stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 2;
//	if (a == 1)
//	{
//		if (b == 2)
//			printf("hehe\n");
//		else
//			printf("haha\n");
//	}
//	return 0;
//}//-->" "

//表达式判断真1假0
//==相等运算符 用于判断 tip：把数字写左边就知道自己的符号有没有写错
// 注意一点：一个=是赋值
//！=不相等运算符
//>=大于等于运算符

//对比下面两段代码
#include <stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (18 <= age <= 36)  //比较过程：18<=10-->"0" ; 0<=36-->"1" 执行printf语句
	{
		printf("⻘年\n");
	}
	return 0;//10-->"青年"
}

#include <stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age >= 18 && age <= 36)
	{
		printf("⻘年\n");
	}
	return 0;
}